#pragma once

#include "StlWrapper.h"

class People;
typedef STL::vector<People*>	PeopleVec;
typedef PeopleVec::iterator		PeopleVecIt;
typedef PeopleVec::const_iterator	PeopleVecCit;

struct PeopleHistoryRecord;
typedef STL::vector<PeopleHistoryRecord>	PeopleHistoryRecordVec;
typedef PeopleHistoryRecordVec::iterator	PeopleHistoryRecordVecIt;
typedef PeopleHistoryRecordVec::const_iterator	PeopleHistoryRecordVecCit;

class Team;
typedef STL::vector<Team*>		TeamVec;
typedef TeamVec::iterator		TeamVecIt;
typedef TeamVec::const_iterator	TeamVecCit;

class League;
typedef STL::vector<League*>		LeagueVec;
typedef LeagueVec::iterator			LeagueVecIt;
typedef LeagueVec::const_iterator	LeagueVecCit;

struct TeamItemHistory;
typedef STL::vector<TeamItemHistory>	TeamItemHistoryVec;
typedef TeamItemHistoryVec::iterator	TeamItemHistoryVecIt;
typedef TeamItemHistoryVec::const_iterator	TeamItemHistoryVecCit;

struct LeagueItemHistory;
typedef STL::vector<LeagueItemHistory>	LeagueItemHistoryVec;
typedef LeagueItemHistoryVec::iterator	LeagueItemHistoryVecIt;
typedef LeagueItemHistoryVec::const_iterator	LeagueItemHistoryVecCit;

class LeagueLayer;
typedef	STL::vector<LeagueLayer*>	LayerVec;
typedef LayerVec::iterator			LayerVecIt;
typedef LayerVec::const_iterator	LayerVecCit;

struct MatchData;
typedef STL::vector<MatchData*>			MatchDataVec;
typedef MatchDataVec::iterator			MatchDataVecIt;
typedef MatchDataVec::const_iterator	MatchDataVecCIt;

struct User;
typedef STL::vector<User*>	UsersList;
typedef UsersList::iterator	UsersListIt;
typedef UsersList::const_iterator UsersListCit;

typedef STL::vector<int>		IntVec;
typedef IntVec::iterator		IntVecIt;
typedef IntVec::const_iterator	IntVecCit;

#ifdef DARIO
#define DARIONLY(x) x
#define NOTDARIONLY(x)
#else
#define DARIONLY(x)
#define NOTDARIONLY(x) x
#endif
